With the development of wireless communication technology and diversification of information demands, people gradually transfer their attention from pure voice services to multi-media services. However, different from wire communication, wireless communication is restricted by various factors such as spectrum resource, transmission power and multi-path fading, among which the spectrum efficiency becomes a focus of attention because it directly affects the capacity of a wireless communication system.
In order to improve the spectrum efficiency of a wireless communication system, a Multiple Input Multiple Output (MIMO) system is proposed, wherein a plurality of transmitting antennae and a plurality of receiving antennae are used to transmit and receive the signals. FIG. 1 illustrates a MIMO system by taking a V-BLAST scheme with M transmitting antennae and N receiving antennae as an example.
As shown in FIG. 1, there are M transmitting antennae and N receiving antennae in the MIMO system, where 1<M≦N. An information bit stream transmitted by a signal source forms M data sub-streams by channel encoding, constellation modulation and serial/parallel conversion. During the same symbol interval, the parallel M data sub-streams constitute a transmitting symbol vector a. The data sub-streams, which respectively correspond to the components a1,a2, . . . ,aM of the transmitting symbol vector a, are transmitted by M transmitting antennae respectively, and received by N receiving antennae after passing through space channels in a scattering environment. The obtained receiving symbol vector r is transmitted to a signal target after V-BLAST detection, parallel/serial conversion, constellation demodulation and channel decoding. Since the M data sub-streams are transmitted to the channels simultaneously, they occupy the same frequency band. Thereby the capacity and the spectrum efficiency of a wireless communication system can be remarkably improved without bandwidth increasing.
To make a full use of the channel space of a MIMO system, people proposed different schemes of space-time process, among which the most remarkable one is a system model of layered space-time code, i.e. the Vertical Bell Laboratories Layered Space Time (V-BLAST) code, which is proposed in 1998 in an article (hereinafter referred to as D1) titled “V-BLAST: An Architecture for Realizing Very High Data Rates Over the Rich-Scattering Wireless Channel” by Wolniansky, Foschini, Golden and Valenzuela. No code circulation phenomenon appears among the antennae of this V-BLAST. The separation and cancellation method of a receiver is an iteration method that selects the optimum signal-to-noise ratio (SNR) and linearly weights receiving symbol vector, which simplifies the receiving process greatly. Therefore, a MIMO system based on V-BLAST technology increasingly becomes a focus of study.
It can be seen from FIG. 1 that the information transmission of the whole MIMO system based on V-BLAST technology realizes high spectrum efficiency and large capacity via a plurality of transmitting antennae and a plurality of receiving antennae. The key step in the whole processing scheme is the serial/parallel conversion and the V-BLAST detection. However, in a MIMO system based on V-BLAST technology, since V-BLAST codes get in return high band efficiency at the cost of partial diversity gain, the V-BLAST detection method for signal detection used in the receiving side is crucial to the improvement of the performance of the whole system.
The V-BLAST detection method disclosed by the above D1 is a detecting method based on the optimum ordering-successive interference cancellation (Ordering-SIC). Within a symbol time, this method uses a1,a2, . . . ,aM to respectively represent the components of the transmitting symbol vector a transmitted from the transmitting antennae. The receiving symbol vector r corresponding to the transmitting symbol vector may be represented as:r=H·a+v  (1)
where H is a channel matrix of N×M, a=(a1,a2, . . . ,aM)T stands for the transmitting symbol vector, i.e. a vector having M rows and 1 column obtained by transposing the vector (a1,a2, . . . ,aM), v is a column vector of N×1, indicating an additive white Gaussian noise.
Furthermore, a detection sequence is set as:S≡{k1,k2, . . . ,kM−1,kM}  (2)
wherein k1,k2, . . . ,kM−1,kM is a certain permutation of M, M−1, . . . , 2, 1, representing an optimum detection order.
The first decision estimated value yk1 can be firstly obtained by using the aforesaid Ordering-SIC V-BLAST detection method.yk1=wk1·r1  (3)
wherein wk1 is a zero-forcing vector, r1 is the first receiving symbol vector of the receiving symbol vector r, the initial value is r per se, then the first decision estimated value yk1 is a linear combination of the zero-forcing vector wk1 and the aforesaid receiving symbol vector r.
Then, a first detection component âk1 of the transmitting symbol vector is obtained:âk1=Q(yk1)  (4)
wherein Q(yk1) represents the constellation demodulation of the first decision estimated value yk1.
After that, assuming âk1=ak1 ak1 is cancelled from the receiving symbol vector r to obtain the second receiving symbol vector r2:r2=r1−âk1(H)k1  (5)
wherein (H)k1 stands for the k1th column of H, r1 is the first component of the receiving symbol vector r, and the initial value is r per se.
Then, the second receiving symbol vector r2 is used to replace r1, and the above steps (3) to (5) are repeated to obtain the second detection component âk2 of the transmitting symbol vector and the third receiving symbol vector r3. The rest may be deduced by analogy till the M-th detection component âkM of the transmitting symbol vector is obtained.
In this method, a key vector is the zero-forcing vector wk1 used in step (3). The methods of calculating the zero-forcing vector wk1 include a minimum means-square error (MMSE) detecting method and a zero-forcing (ZF) detecting method, the latter being simpler.
Below we take the ZF method as an example to explain in detail the steps of calculating zero-forcing vector and performing V-BLAST detection in the Ordering-SIC V-BLAST detection method disclosed by D1.
Fist of all, initialization starts:Making G1=H+  (6){tilde over (H)}=H  (7)r1=r  (8)i=1  (9)
wherein, H+ represents a Moore-Penrose pseudoinverse matrix of channel matrix H, r is the receiving symbol vector represented by the above equation (1).
After that, iteration steps 1) to 6) are executed as follows:
1) determining the sequence number ki of detection symbol;
                                          k            i                    =                                                    arg                ⁢                                                                  ⁢                min                                            j                ∉                                  {                                                            k                      1                                        ,                    …                    ⁢                                                                                  ,                                          k                                              i                        -                        1                                                                              }                                                      ⁢                                                                                                (                                          G                      i                                        )                                    j                                                            2                                      ,                            (        10        )            
wherein (Gi)j represents the j-th row of the matrix (Gi), ∥ ∥2 represents 2 Norm of the matrix (Gi)j,
            arg      ⁢                          ⁢      min              j      ∉              {                              k            1                    ,          …          ⁢                                          ,                      k                          i              -              1                                      }              ⁢                                    (                      G            i                    )                j                    2  stands for j corresponding to the minimum value of the target function ∥(Gi)j∥2 in the case that j does not belong to k1, . . . ,ki−1.
2) calculating a zero-forcing vector:wki=(Gi)ki  (11)
3) calculating the decision estimated valueyki=wki·ri  (12)
4) obtaining the detection component âki of the transmitting symbol vector aâki=Q(yki)  (13)
5) taking the detection component as a known signal and canceling it from the receiving symbol vector:ri+1=ri−âki·(H)ki  (14)
6) calculating a new initial value used for the next iteration:{tilde over (H)}={tilde over (H)} ki  (15)Gi+1={tilde over (H)}+  (16)i=i+1  (17)
where {tilde over (H)} ki represents that the ki th column of the matrix {tilde over (H)} is set to zero. It should be noted that the new Moore-Penrose pseudoinverse obtained from the equation (16) is based on the “reduced” H, where the k1,k2, . . . ,ki-th columns have already been set to zero. The column that is set as zero corresponds to the component of a as detected, thereby canceling the components of the transmitting symbol vector a which have been detected from the receiving symbol vector. At this time, the system becomes a system of removing transmitting antennae k1,k2, . . . ,ki, or equals to a system of ak1= . . . =aki=0.
This method uses the interference cancellation technology so that the space diversity degrees of the symbols that are detected in sequence are 1, 2, . . . M respectively.
It can be seen from the above Ordering-SIC V-BLAST detection method that this method needs to perform Moore-Penrose pseudoinverse to the channel matrix for M (the number of the transmitting antennae) times, each time obtaining a zero-forcing vector, and then carrying out an ordering operation. Therefore, this method is relatively complicated in case of comparatively many transmitting antennae. In addition, the performance of error ratio of the method is much restricted due to error propagation between layers of V-BLAST.
On the basis of the aforesaid Ordering-SIC V-BLAST detection method, an improved detection method was proposed in an article titled “Detection algorithm improving V-BLAST performance over error propagation” (hereinafter referred to as D2) by Cong Shen, Hairuo Zhuang, Lin Dai and Shidong Zhou in 2003.
First of all, in this method, the Ordering-SIC V-BLAST detection method disclosed by D1 is used to detect, with respect to a transmitting symbol vector a of a V-BLAST system having M transmitting antennae and N receiving antennae, M detection components that are respectively represented as âM0,âM−10, . . . ,â20,â1. Here the optimum detection order is assumed to be M, M−1, . . . , 1.
After that, iteration steps begin. In the first loop of this iteration steps, the detection component â1 with the highest space diversity degree among the detection components of the current transmitting symbol vector a is cancelled from the receiving symbol vector as a known signal, then the residual (M−1, N) system with M−1 transmitting antennae and N receiving antennae is further detected using the Ordering-SIC V-BLAST detection method to obtain the first detection estimate âM1,âM−11, . . . ,â21 of the transmitting symbol vector a. The first detection estimate together with the above known signal â1 forms the first update estimate âM1,âM−11, . . . ,â21,â1. The first loop ends.
Then, the second loop is executed. In the second loop, both the signal â1 and the signal â21 with the highest space diversity degree among the detection estimate âM1,âM−11, . . . ,â21,â1 are cancelled from the receiving symbol vector as known signals, then the residual (M−2, N) system with M−2 transmitting antennae and N receiving antennae is further detected using the Ordering-SIC V-BLAST detection method to obtain the second detection estimate âM2,âM−12, . . . ,â32 of the transmitting symbol vector component. The second detection estimate together with the above known signals â1 and â21 form the second update estimate âM2,âM−12, . . . ,â32,â21,â1. Similar performances are executed till the (M−1)-th update estimate âMM−1,
            a      ^              M      -      1              M      -      2        ,  …  ⁢          ,            a      ^        2    1    ,â1 is obtained. This (M−1)-th update estimate is just the final detection result.
The V-BLAST detection method disclosed by D2 can, over the Ordering SIC V-BLAST detection method disclosed by D1, further reduce error propagation between the V-BLAST layers, so that the detecting performance of V-BLAST is improved to a certain extent. However, the detecting procedure is too complicated, and still has inter-layer error propagation. Its error performance is still restricted to a certain extent.